package cn.chengpengper.seckill.activity.domain.repository;


import cn.chengpengper.seckill.activity.domain.model.entity.SeckillActivity;

import java.util.Date;
import java.util.List;

/**
 * @author chengpeng.hu
 */
public interface SeckillActivityRepository {

    /**
     * 保存秒杀活动信息
     * @param seckillActivity 秒杀活动
     * @return 影响行数
     */
    int saveSeckillActivity(SeckillActivity seckillActivity);

    /**
     * 根据秒杀活动状态获取活动列表
     * @param status 秒杀活动
     * @return 活动列表
     */
    List<SeckillActivity> getSeckillActivityList(Integer status);

    /**
     * 根据时间和状态获取活动列表
     * @param currentTime 当前时间
     * @param status 活动状态
     * @return 活动列表
     */
    List<SeckillActivity> getSeckillActivityBetweenStartTimeAndEndTime(Date currentTime, Integer status);

    /**
     * 根据活动ID获取活动详情
     * @param id 活动ID
     * @return 活动信息
     */
    SeckillActivity getSeckillActivityById(Long id);

    /**
     * 更新活动状态
     * @param status 活动状态
     * @param id 活动ID
     * @return 影响行数
     */
    int updateStatus(Integer status,Long id);
}
